home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / dlarrv.z / dlarrv
Encoding:
Text File  |  2002-10-03  |  6.7 KB  |  199 lines

  1.  
  2.  
  3.  
  4. DDDDLLLLAAAARRRRRRRRVVVV((((3333SSSS))))                                                          DDDDLLLLAAAARRRRRRRRVVVV((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DLARRV - compute the eigenvectors of the tridiagonal matrix T = L D L^T
  10.      given L, D and the eigenvalues of L D L^T
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE DLARRV( N, D, L, ISPLIT, M, W, IBLOCK, GERSCH, TOL, Z, LDZ,
  14.                         ISUPPZ, WORK, IWORK, INFO )
  15.  
  16.          INTEGER        INFO, LDZ, M, N
  17.  
  18.          DOUBLE         PRECISION TOL
  19.  
  20.          INTEGER        IBLOCK( * ), ISPLIT( * ), ISUPPZ( * ), IWORK( * )
  21.  
  22.          DOUBLE         PRECISION D( * ), GERSCH( * ), L( * ), W( * ), WORK( *
  23.                         ), Z( LDZ, * )
  24.  
  25. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  26.      These routines are part of the SCSL Scientific Library and can be loaded
  27.      using either the -lscs or the -lscs_mp option.  The -lscs_mp option
  28.      directs the linker to use the multi-processor version of the library.
  29.  
  30.      When linking to SCSL with -lscs or -lscs_mp, the default integer size is
  31.      4 bytes (32 bits). Another version of SCSL is available in which integers
  32.      are 8 bytes (64 bits).  This version allows the user access to larger
  33.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  34.      by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
  35.      only one of the two versions; 4-byte integer and 8-byte integer library
  36.      calls cannot be mixed.
  37.  
  38. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  39.      DLARRV computes the eigenvectors of the tridiagonal matrix T = L D L^T
  40.      given L, D and the eigenvalues of L D L^T. The input eigenvalues should
  41.      have high relative accuracy with respect to the entries of L and D. The
  42.      desired accuracy of the output can be specified by the input parameter
  43.      TOL.
  44.  
  45.  
  46. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  47.      N       (input) INTEGER
  48.              The order of the matrix.  N >= 0.
  49.  
  50.      D       (input/output) DOUBLE PRECISION array, dimension (N)
  51.              On entry, the n diagonal elements of the diagonal matrix D.  On
  52.              exit, D may be overwritten.
  53.  
  54.      L       (input/output) DOUBLE PRECISION array, dimension (N-1)
  55.              On entry, the (n-1) subdiagonal elements of the unit bidiagonal
  56.              matrix L in elements 1 to N-1 of L. L(N) need not be set. On
  57.              exit, L is overwritten.
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDLLLLAAAARRRRRRRRVVVV((((3333SSSS))))                                                          DDDDLLLLAAAARRRRRRRRVVVV((((3333SSSS))))
  71.  
  72.  
  73.  
  74.      ISPLIT  (input) INTEGER array, dimension (N)
  75.              The splitting points, at which T breaks up into submatrices.  The
  76.              first submatrix consists of rows/columns 1 to ISPLIT( 1 ), the
  77.              second of rows/columns ISPLIT( 1 )+1 through ISPLIT( 2 ), etc.
  78.  
  79.      TOL     (input) DOUBLE PRECISION
  80.              The absolute error tolerance for the eigenvalues/eigenvectors.
  81.              Errors in the input eigenvalues must be bounded by TOL.  The
  82.              eigenvectors output have residual norms bounded by TOL, and the
  83.              dot products between different eigenvectors are bounded by TOL.
  84.              TOL must be at least N*EPS*|T|, where EPS is the machine
  85.              precision and |T| is the 1-norm of the tridiagonal matrix.
  86.  
  87.      M       (input) INTEGER
  88.              The total number of eigenvalues found.  0 <= M <= N.  If RANGE =
  89.              'A', M = N, and if RANGE = 'I', M = IU-IL+1.
  90.  
  91.      W       (input) DOUBLE PRECISION array, dimension (N)
  92.              The first M elements of W contain the eigenvalues for which
  93.              eigenvectors are to be computed.  The eigenvalues should be
  94.              grouped by split-off block and ordered from smallest to largest
  95.              within the block ( The output array W from DLARRE is expected
  96.              here ).  Errors in W must be bounded by TOL (see above).
  97.  
  98.      IBLOCK  (input) INTEGER array, dimension (N)
  99.              The submatrix indices associated with the corresponding
  100.              eigenvalues in W; IBLOCK(i)=1 if eigenvalue W(i) belongs to the
  101.              first submatrix from the top, =2 if W(i) belongs to the second
  102.              submatrix, etc.
  103.  
  104.      Z       (output) DOUBLE PRECISION array, dimension (LDZ, max(1,M) )
  105.              If JOBZ = 'V', then if INFO = 0, the first M columns of Z contain
  106.              the orthonormal eigenvectors of the matrix T corresponding to the
  107.              selected eigenvalues, with the i-th column of Z holding the
  108.              eigenvector associated with W(i).  If JOBZ = 'N', then Z is not
  109.              referenced.  Note: the user must ensure that at least max(1,M)
  110.              columns are supplied in the array Z; if RANGE = 'V', the exact
  111.              value of M is not known in advance and an upper bound must be
  112.              used.
  113.  
  114.      LDZ     (input) INTEGER
  115.              The leading dimension of the array Z.  LDZ >= 1, and if JOBZ =
  116.              'V', LDZ >= max(1,N).
  117.  
  118.      ISUPPZ  (output) INTEGER ARRAY, dimension ( 2*max(1,M) )
  119.              The support of the eigenvectors in Z, i.e., the indices
  120.              indicating the nonzero elements in Z. The i-th eigenvector is
  121.              nonzero only in elements ISUPPZ( 2*i-1 ) through ISUPPZ( 2*i ).
  122.  
  123.      GERSCH  (workspace) DOUBLE PRECISION array, dimension (2*N)
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. DDDDLLLLAAAARRRRRRRRVVVV((((3333SSSS))))                                                          DDDDLLLLAAAARRRRRRRRVVVV((((3333SSSS))))
  137.  
  138.  
  139.  
  140.      WORK    (workspace) DOUBLE PRECISION array, dimension (13*N)
  141.  
  142.      IWORK   (workspace) INTEGER array, dimension (6*N)
  143.  
  144.      INFO    (output) INTEGER
  145.              = 0:  successful exit
  146.              < 0:  if INFO = -i, the i-th argument had an illegal value
  147.              > 0:  if INFO = 1, internal error in DLARRB if INFO = 2, internal
  148.              error in DSTEIN
  149.  
  150. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  151.      Based on contributions by
  152.         Inderjit Dhillon, IBM Almaden, USA
  153.         Osni Marques, LBNL/NERSC, USA
  154.  
  155.  
  156. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  157.      INTRO_LAPACK(3S), INTRO_SCSL(3S)
  158.  
  159.      This man page is available only online.
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.